/* 
 * File:   EvolutionOfBehavior.h
 * Author: jcrada
 *
 * Created on April 10, 2009, 5:41 PM
 */

#ifndef _EVOLUTIONOFBEHAVIOR_H
#define	_EVOLUTIONOFBEHAVIOR_H

#include "PsoModel.h"
#include "EvolutionOfCreatures.h"


namespace jcrada {

    class EvolutionOfBehavior : public EvolutionOfCreatures {
    private:
        PsoModel* _model;
    public:
        EvolutionOfBehavior( int population_size, const Creature& creature );
        virtual ~EvolutionOfBehavior( );

        virtual void step( );
        virtual void prepareCreatures();
        virtual PsoModel& getModel( ) const {
            return *this->_model;
        }
    };
}

#endif	/* _EVOLUTIONOFBEHAVIOR_H */

